#pragma once
#include <iostream>
#include <cstring>
using namespace std;
typedef int SLDataType;

class SeqList
{
public:
    // 基本增删查改接口
    // 顺序表初始化
    void SeqListInit(size_t capacity);
    // 检查空间，如果满了，进行增容
    void CheckCapacity();
    // 顺序表尾插
    void SeqListPushBack(SLDataType x);
    // 顺序表尾删
    void SeqListPopBack();
    // 顺序表头插
    void SeqListPushFront(SLDataType x);
    // 顺序表头删
    void SeqListPopFront();
    // 顺序表查找
    void SeqListFind(SLDataType x);
    // 顺序表在pos位置插入x
    void SeqListInsert(size_t pos, SLDataType x);
    // 顺序表删除pos位置的值
    void SeqListErase(size_t pos);
    // 顺序表销毁
    void SeqListDestory();
    // 顺序表打印
    void SeqListPrint();

private:
    SLDataType *m_arr;
    size_t m_size;
    size_t m_capacity;
};
